Studio e analisi dei sistemi di indagine remote sensing, morfologia e topografia
Università di Torino
F tutto schermo→ , ↓ , SPACE , N, L , J Slide successiva← , ↑ , P , H , K Slide precedenteShift + ←/↑/→/↓ Vai alla prima/ultima slideESC, O Panoramica delle slideM MenuInizieremo ad affrontare la questione della georeferenziazione di mappe ed immagini satellitari, lavorando su diverse tipologie di mappe e situazioni.
Nel frattempo, aprire QGIS!
Link alle slides:
Una volta caricate dal link, le slide dovrebbero seguire la presentazione in automatico
Se si scansiona una mappa personalmente, assicurarsi di scansionare le immagini a 300dpi per una risoluzione ottimale. Altrimenti, ci si deve accontentare di quello che si ha.
Le mappe possono essere svariate:
Prima di tutto, per facilitare l’orientamento, carichiamo in QGIS un layer che ci indichi dove si andranno a posizionare le nostre mappe (questo layer ci aiuta in questa situazione, ma in un progetto personale si dovrebbe ovviamente già essere a conoscenza dell’area coperta dalla mappa che si è scaricata).
Apriamo quindi il nostro gestore delle sorgenti dati e andiamo su Vettore. Sotto sorgente apriamo la ricerca e scegliamo lo shapefile nominato bbox_mappe.shp.
Una volta scelto, clicchiamo su Aggiungi.
Una volta caricato il file, apriamo la tabella attributi del layer. Scegliamo (cliccando con il numero corrispondente alla riga della tabella) la geometria con nome Bar-Zertal2021 e clicchiamo su Zoom alla selezione (il pulsante con la lente d’ingrandimento).
Questo sposterà la visuale della nostra mappa sulla zona coperta dalla geometria selezionata.
Una volta fatto, ci troveremo nel Levante Meridionale. Procederemo a georeferire una mappa di distribuzione di siti archeologici con base una mappa topografica. La mappa presenta già una griglia di coordinate che in questo caso ci aiuteranno a georeferire velocemente l’immagine.
Procediamo quindi ad aprire lo strumento per la georeferenziazione. Avremo bisogno dello strumento “Georeferenziatore Raster”. Il Georeferenziatore è uno strumento nativo di QGIS (viene installato assieme al programma). Originariamente un plugin, nelle versioni meno recenti di QGIS deve essere attivato (se non lo è già) sotto Plugin → Gestisci ed Installa Plugin → Installati e attivarlo.
Per accedere al georeferenziatore, clicchiamo su Layer → Georeferenziatore (oppure sotto Raster → Georeferenziatore)
Ci si aprirà una nuova finestra, il Georeferenziatore. Qui potremo caricare la nostra immagine, i nostri GCPs e modificare le impostazioni di georeferenziazione (che vedremo in seguito). Per prima cosa, carichiamo l’immagine da georeferire, clicchiamo sul pulsante Apri Raster in alto a sinistra
Selezioniamo il file denominato “Bar-Zertal2021.png” e clicchiamo su apri. Questa mappa proviene da una di molte pubblicazioni della serie “Manasseh Hill Survey” condotte da Adam Zertal a partire dagli anni ’90.
Una volta caricata, la mappa verrà mostrata all’interno del georeferenziatore. Possiamo ingrandire e rimpicciolire la visuale e muoverci al suo interno con il mouse (e il tasto centrale per spostarsi). La prima cosa da fare è selezionare dei punti di controllo per “agganciare” la mappa al nostro progetto. Per inserire un punto di controllo, dobbiamo innanzitutto assicurarci di aver selezionato il pulsante “Aggiunge un Nuovo Punto” (l’incrocio con un asterisco bianco su sfondo giallo). Per una mappa di questo tipo basterebbero anche solo 6 punti di controllo per georeferirla. Tendenzialmente si comincia da un angolo della mappa e si procede in senso orario (ma questo non è assolutamente una regola).
Scegliamo poi un elemento che sia adatto come punto di controllo. In questo caso siamo facilitati dalla griglia di coordinate, che possiamo sfruttare per ottenere i sei punti necessari. Se guardiamo attentamente infatti, le coordinate presentano dei valori. Questi sono valori di northing ed easting, espresse in un sistema di riferimento particolare ma simile all’UTM. Se viene pubblicata una mappa di questo tipo, solitamente viene inserito anche un capitolo dedicato alla descrizione del sistema di riferimento utilizzato sul campo e sulle mappe. In questo caso, la pubblicazione ci informa che la griglia si basa su sulla Israeli Cassini-Soldner (ICS) grid. Il sistema di riferimento di questa griglia è definito come EPSG 28193 (Palestine 1923/Israeli CS Grid), un sistema meno recente e poco accurato ma ancora utilizzato in alcune mappa israeliane.
Questo ci sarà utile da sapere nel momento in cui andremo a completare la georeferenziazione, in quanto dovremo dare a QGIS un sistema di riferimento su cui operare.
Cominciamo quindi a cambiare alcune impostazioni (è sempre necessario farlo PRIMA di iniziare a collocare punti di controllo). Apriamo le impostazioni cliccando sull’icona ad ingranaggio in alto (impostazioni di trasformazione).
Nel pannello che si apre possiamo modificare il tipo di trasformazione (ovvero come qgis manipolerà la nostra immagine), il sistema di riferimento con cui vogliamo georeferire la nostra immagine, il nome del file di destinazione e il tipo di ricampionamento. Ci sono poi altre impostazioni che al momento non ci interessano ma che potete approfondire nel link alla fine della presentazione.
Cominciamo cambiando il tipo di trasformazione. Apriamo il menu a tendina a destra di “Tipo di Trasformazione” e selezioniamo “Polinomiale 2”. Troverete una lista dei modi di trasformazione sempre nei link alla fine, ma per adesso diciamo solo che “Polinomiale 2” è quello suggerito per la georeferenziazione di mappe (anche Lineare sarebbe andato bene in questo caso).
Cambiamo poi il sistema di riferimento stavolta sul globo a destra di “SR di destinazione” e nel menu che si apre filtriamo cercando “28193”. Selezioniamo quindi “Palestine 1923 / Israel Cassini Grid” e clicchiamo su OK.
Per il momento lasciamo il resto delle impostazioni così e clicchiamo su Ok. Notate che grazie alle due spunte in basso QGIS salverà i nostri punti di controllo e caricherà il risultato una volta eseguito.
Possiamo adesso cominciare a inserire i nostri punti di controllo. Clicchiamo ad esempio sull’intersezione delle linee della griglia in alto a sinistra nella mappa , tra 182 e 180. Cercate di essere abbastanza precisi anche ingrandendo l’immagine fino a sgranare un pochino per vedere correttamente l’intersezione.
Nel pannello che si apre, potremo decidere di inserire manualmente le coordinate nel campo X e Y, oppure di selezionare un punto sulla mappa. In questo caso, abbiamo già le coordinate a disposizione. Per convenzione, le coordinate riportate sulla mappa sono abbreviate. Se vi ricordate infatti, in un sistema UTM le coordinate Est (Easting) possiedono 6 numeri, e le coordinate nord (Northing) ne possiedono sette. Dato che non abbiamo altre informazioni, diamo per scontato che i restanti 3-4 numeri siano tutti zero. Un’altra convenzione tipica di questo sistema di riferimento è che le coordinate Nord (a destra e a sinistra della nostra mappa) perdono un “1” iniziale quando vengono trascritte. Questo vuol dire che di fronte ad esempio a “180”, dovremo aggiungere un 1 per ottenere il valore corretto delle coordinate.
Cominciamo quindi a scrivere la coppia di coordinate, nel campo “X/Est” scriviamo “182000” e nel campo “Y/Nord” scriviamo “1180000” e clicchiamo su Ok.
Vedete che il primo punto è stato aggiunto ed appare anche nella lista in basso nel nostro georeferenziatore. Le coordinate che abbiamo appena inserito sono visualizzabili sotto “Dest.X” e “Dest.Y” ovvero le coordinate di destinazione.
Aggiungiamo adesso altri 6 punti per completare il quadro (7 punti è il minimo che permette alla trasformazione polinomiale 2 di funzionare), ricordandoci degli zeri da aggiungere alla fine di ogni coordinata X e Y e dell’uno da aggiungere all’inizio di ogni coordinata Y. Prendiamo ad esempio un punto in alto al centro, un punto in alto a destra, un punto in basso a destra, un punto in basso al centro, un punto in basso a sinistra e un punto al centro della mappa. Ricordatevi di seguire un senso orario e di coprire l’estensione della mappa e non solo una parte o un angolo.
Una volta completato, vedrete che altre parti della tabella in basso si sono popolate. Quello che ci interessa qui sono i campi “dX”, “dY”, “Residuo (pixel)” nella tabella e il valore “Errore medio” in basso a destra
Questi valori ci indicano eventuali errori nella registrazione dei punti di controllo. I primi due campi (dX e dY) indicano la distanza tra la coordinata che abbiamo assegnato durante la registrazione dei punti e dove quel punto andrà a cadere una volta completato il processo di georeferenziazione. Il campo “Residuo (pixel)” è l’espressione in pixel di questa differenza. L’errore medio è un calcolo matematico rappresentativo di tutte queste differenze. Un valore di errore medio alto, e un valore molto alto nel campo “Residuo (pixel)” indica di solito un errore umano nella registrazione dei punti di controllo, che andranno quindi corretti prima di georeferire l’immagine. Potremo ad esempio spostare un punto di controllo, aggiungerne altri, o rimuoverne alcuni per vedere se la nostra situazione migliora.
Sebbene non esista un valore preciso sotto il quale una georeferenziazione è valida o meno (dipende da tanti fattori), tendenzialmente è buona pratica tenere l’errore Residuo (pixel) sotto i 3-4 pixels, ma a volte anche sotto i 10 è accettabile. Un errore alto porta a spostamenti sensibili della mappa oltre che a forti distorsioni.
In questo caso, essendo la griglia sufficientemente precisa e la nostra trasformazione potente, l’errore dovrebbe essere molto basso. Se cambiate trasformazione, anche l’errore cambierà.
Possiamo adesso completare la nostra georeferenziazione cliccando sul pulsante con freccia verde (notate come i gcp sono anche visibili sulla mappa).
Il processo dovrebbe essere veloce e la nostra mappa verrà caricata nel progetto. Come vedete il risultato è più che accettabile. Possiamo quindi ritenerci soddisfatti e chiudere il georeferenziatore.
Tuttavia, non sempre sarà così semplice georeferire una mappa. Vediamo adesso un altro esempio con una seconda mappa topografica. Riapriamo la tabella attributi del layer bbox_mappe e scegliamo (cliccando con il numero corrispondente alla riga della tabella) la geometria con nome Nigin e clicchiamo su Zoom alla selezione (il pulsante con la lente d’ingrandimento).
Questo sposterà la visuale della nostra mappa sulla zona coperta dalla geometria selezionata.
Una volta fatto, ci troveremo in bassa mesopotamia, nell’area dei siti di Nigin, Lagash e Girsu. Procederemo a georeferire una mappa topografica, per fare ciò, avremo bisogno di poter vedere chiaramente strade, ponti e centri abitati, che però su un’immagine satellitare come quelle offerte da Google, tendono a non essere chiaramente visibili, soprattutto a scale molto grandi di osservazione.
Per risolvere, carichiamo un layer OpenStreetMap andando su Web → QuickMapServices → OSM → OSM Standard
OpenStreetMap è un progetto collaborativo per la creazione di mappature globali a contribuzione aperta a tutti gli utenti. Oltre all’importanza del progetto a livello mondiale, è molto utile in zone dove, ad esempio, Google Maps non è aggiornato a sufficienza.
Una volta caricato il nostro layer openstreetmap, procediamo a georeferire l’immagine. Apriamo quindi il georeferenziatore e carichiamo la nostra immagine utilizzando il pulsante “Aggiungi raster” in alto a sinistra.
Selezioniamo il file denominato h-38-05, una mappa topografica sovietica redatta intorno agli anni ’80 e scaricabile dal sito https://maps.vlasenko.net/. Una volta selezionata, clicchiamo su Apri.
Cambiamo prima di tutto le impostazioni di georeferenziazione, apriamo il pannello delle impostazioni.
Qui clicchiamo su “Tipo di trasformazione” e selezioniamo “Helmert”.
Cambiamo poi il sistema di riferimento, clicchiamo sul globo e nel filtro scriviamo “32638” e selezioniamo “WGS 84 /UTM Zone 38N EPSG:32638”.
Lasciamo tutte le altre impostazioni di default e chiudiamo le impostazioni
Assicuriamoci di aver selezionato il pulsante “Aggiunge un Nuovo Punto” (l’incrocio con un asterisco bianco su sfondo giallo) e iniziamo a cercare dei punti di controllo. Sebbene la mappa presenti anche qui una griglia di coordinate, il sistema di riferimento usato (Pulkovo 1942) è di difficile utilizzo e spesso comporta forti distorsioni. Per questo motivo cercheremo sulla mappa degli poi un elemento che sia adatto come punto di controllo. Come detto in precedenza, ponti, incroci e simili sono ottimi punti di controllo in una mappa a questa scala.
Possiamo ad esempio vedere un incrocio ben chiaro in basso a sinistra nell’immagine. Zoomiamo (con la rotella del mouse) in quella direzione.
Orientiamoci e zoomiamo anche nella nostra mappa di base per raggiungere la stessa zona.
Orientiamoci sulla mappa di base OpenStreetMap per cercare lo stesso punto, una volta trovato, clicchiamo con il tasto sinistro del mouse al centro dell’incrocio e si aprirà una nuova schermata. Qui, se fossimo a conoscenza delle coordinate del punto, le potremmo inserire manualmente, tuttavia, non essendone a conoscenza, clicchiamo sul pulsante “Dalla Mappa”, ricordandoci di togliere la spunta dalla casella “Nascondi Automaticamente la finestra del georeferenziatore”. Assicuriamoci anche che il sistema di riferimento del punto corrisponda a quello del progetto.
Clicchiamo sul centro dell’incrocio anche sulla mappa di base del nostro progetto, e vedremo la finestra di Inserisci Coordinate popolarsi con le coordinate del punto scelto. Se siamo soddisfatti, clicchiamo su ok, altrimenti clicchiamo nuovamente “Dalla Mappa” per correggere eventuali errori.
Il nostro punto verrà aggiunto alla lista dei punti di controllo nella Tabella GCP in basso. Selezioniamo adesso un secondo punto. In alto a sinistra nella mappa si trova un centro abitato, dove sicuramente, essendo nei pressi di un fiume, si troverà un ponte. Muoviamoci in quell’area con la mappa del georeferenziatore e facciamo lo stesso nella mappa di base OpenStreetMap.
Come pensavamo, un ponte è effettivamente presente sia nella mappa sovietica che nella mappa moderna. Clicchiamo al centro del ponte sulla mappa nel georeferenziatore e selezioniamo sempre “Dalla Mappa” nella finestra di Inserisci Coordinate Mappa. Clicchiamo al centro del ponte anche nella nostra mappa di base e poi clicchiamo su Ok per confermare la nostra scelta.
Cerchiamo poi un terzo punto, la parte a destra della mappa potrebbe essere difficile da leggere, ma in alto quasi al centro possiamo vedere chiaramente un altro incrocio, cerchiamo di identificarlo anche su OpenStreetMap seguendo la strada principale verso Est.
Individuato l’incrocio (su OpenStreetMap alcune strade potrebbero diventare visibili solo zoomando un po’) ripetiamo il processo per aggiungere un punto dalla mappa e una volta soddisfatti, clicchiamo su Ok.
Cerchiamo di localizzare un quarto punto. A destra dell’immagine è possibile individuare un ulteriore centro abitato nei pressi di un canale. Se zoomiamo, troveremo anche qui un ponte utilizzabile come punto di controllo. Individuiamo ancora una volta il luogo anche su OpenStreetMap e zoomiamo per identificare un punto adeguato.
Possiamo utilizzare uno dei due ponti presenti nel centro abitato, è indifferente. Ripetiamo ancora una volta il processo per scegliere il punto di controllo dalla mappa e clicchiamo su Ok.
La mappa potrebbe già essere georeferita così, tuttavia, potete cercare altri due o tre punti da utilizzare nella mappa per ottenere un risultato migliore.
Una volta cambiate le impostazioni e scelto i punti, possiamo georeferire la nostra immagine cliccando il pulsante verde in alto. In questo caso l’errore è più alto rispetto alla mappa precedente (abbiamo anche un numero minore di punti e una trasformazione meno potente). Se volete modificare i punti, spostarli o rimuoverne qualcuno, lo possiamo fare con i rispettivi pulsanti in alto.
Possiamo vedere che la nostra mappa è stata caricata in QGIS e posizionata correttamente secondo i punti che abbiamo scelto fino ad ora. Volendo, se non siamo soddisfatti del risultato, potremo sempre aggiungere nuovi punti e far ripartire la georeferenziazione fino ad ottenere il risultato che vogliamo. Teniamo ovviamente presente che, a causa della scala della mappa e della quantità dei punti di controllo, ci sarà sempre un errore intrinseco nella mappa georeferita, che possiamo cercare di ridurre il più possibile con quanto detto sopra. Chiudiamo pure il georeferenziatore.
Possiamo poi eliminare anche i bordi neri dell’immagine dal pannello di stile del layer, scegliendo la scheda della trasparenza e impostando 0 nel campo “Valori nulli aggiuntivi”. Fate attenzione che questo eliminerà anche tutte le scritte in nero presenti nella mappa.
Prepariamoci adesso a georeferire la nostra seconda mappa, una mappa geomorfologica. Apriamo nuovamente la tabella attributi del layer bbox_mappe e selezioniamo Sweyhat e nuovamente zoomiamo alla selezione. Ci troviamo nella zona del lago Assad, e la mappa su cui lavoreremo proviene dagli studi della missione americana nell’area di Tell es-Sweyhat, importante sito del III millennio (Wilkinson 2004).
Facciamo un po’ di spazio per la nostra immagine togliendo la visibilità a tutti i layer che abbiamo caricato in QGIS. Per farlo clicchiamo sull’icona a forma di occhio nel pannello dei layer e dal menu a tendina selezioniamo “Nascondi tutti i layer”.
Apriamo nuovamente il georeferenziatore (Raster → Georeferenziatore), clicchiamo sul pulsante “Apri Raster” e selezioniamo il file wilkinson_sweyhat.jpg, cliccando poi su Apri.
Questa volta, invece di inserire manualmente i punti di controllo, li caricheremo da un file. Immaginiamo che qualcuno abbia già georeferito l’immagine, ma che non trovi più il file georeferito. Avere un file con i punti di controllo è molto utile per riprodurre una georeferenziazione in modo rapido.
Clicchiamo sul pulsante a forma di incrocio con una freccia verso l’alto (“Carica Punti GCP”).
Selezioniamo il file “wilkinson_sweyhat.jpg. points” (nella cartella raster del nostro progetto)
Una volta caricato, potete vedere che alcuni punti sono stati caricati sulla mappa, possiamo poi osservare la corrispondenza tra questi e il layer dei siti archeologici nel nostro database. Alcuni di questi siti infatti sono presenti nel nostro geopackage e possono aiutarci a georeferire la mappa. Cambiamo intanto le impostazioni del georeferenziatore. Helmert dovrebbe essere già selezionata come trasformazione, quindi cambiamo solamente il sistema di riferimento in “EPSG:32638 - WGS 84 / UTM zone 38N” che dovrebbe essere già visibile dal semplice menu a tendina.
Come potete vedere, in questo caso l’errore di ogni singolo punto è molto alto (come anche evidenziato dalle linee rosse che partono dai punti nella mappa del georeferenziatore). In questo caso, data la tipologia di mappa potrebbe essere più complicato trovare più punti, quindi al momento accontentiamoci e avviamo la georeferenziazione.
Come potete vedere dal risultato, la nostra mappa è stata georeferita correttamente, sebbene ci siano delle incongruenza tra i siti nel nostro geopackage e quelli nella mappa, dovute appunto agli errori residui. Potremo riprovare a prendere più punti, oppure a cambiare tipologia di trasformazione (a Polinomiale 1 o 2, ad esempio) per ottenere un risultato, ma non lo faremo oggi. Chiudiamo pure il georeferenziatore.
Apriamo nuovamente la tabella attributi del layer bbox_mappe e zoomiamo questa volta nell’ultima area, quella di Tiro. Per quest’area, fortemente e lungamente urbanizzata, non sono disponibili mappe archeologiche o geomorfologiche, ma possiamo ricorrere ad un altro tipo di fonti: le foto satellitari.
Generalmente le immagini CORONA sarebbero la scelta più comune, tuttavia oggi utilizzeremo delle immagini HEXAGON, che hanno succeduto le CORONA alla fine degli anni ’70 e operato a livello globale durante gli anni ’80. Queste immagini hanno una risoluzione spaziale maggiore delle CORONA e permettono come queste di visualizzare il paesaggio in anni precedenti la grande urbanizzazione del Vicino Oriente.
È stato recentemente pubblicato un articolo molto interessante sulle immagini HEXAGON con dei casi-studio nel Vicino Oriente (Hammer et al. (2022)).
Apriamo nuovamente il georeferenziatore e carichiamo il raster “hexagon_tyre.tif.”
Potete vedere che QGIS ha già inserito automaticamente i punti di controllo. Questo perché, se esiste un file .points con lo stesso nome dell’immagine che stiamo georeferendo, qgis li caricherà automaticamente nel momento in cui carica anche l’immagine stessa.
Tuttavia, potete vedere come, nonostante stavolta abbiamo a disposizione più punti delle altre due mappe, l’errore medio è comunque alto. Questo è dovuto alla distorsione dell’immagine (che ricordiamo, è una foto fatta dallo spazio), che necessita di un’adeguata trasformazione per essere corretto al meglio.
Apriamo quindi le impostazioni di georeferenziazione (il pulsante con l’ingranaggio). In Tipo di trasformazione, apriamo il menu a tendina e selezioniamo Polinomiale 1, lasciando poi tutte le altre impostazioni di default. Una volta fatto, clicchiamo su Ok.
Notate come l’errore residuo di ogni singolo pixel e l’errore medio siano diminuiti considerevolmente. Generalmente, questo tipo di immagini richiedono molti più punti di controllo, ma per il momento possiamo fermarci qui e avviare la georeferenziazione (che potrebbe richiedere del tempo in più rispetto alle precedenti).
Una volta caricata la mappa potremo visualizzare il territorio in un’istantanea del 1979, permettendoci di tracciare cambiamenti e modifiche del paesaggio nel tempo se confrontate con la nostra mappa Google di base.
Abbiamo quindi visto come, tramite tre semplici tipologie di mappe, sia possibile visualizzare e importare in QGIS molte tipologie di dati diversi. L’immissione di dati di diverso tipo apre le porte a moltissime possibilità di digitalizzazione e analisi, tutto all’interno di QGIS stesso.
Georeferenziazione
OpenStreetMap
Mappe Topografiche di epoca sovietica
Mappe Topografiche di epoca sovietica - pubblicazioni (vedere slide successiva)